%%
%% TEX $VER: LISTMACRO.TEX 1.1 (03.03.1996)
%%
%% COPYRIGHT: (c) 1995 Stefan Scherer.
%%
%% BESCHREIBUNG: Hier sind einige Makros enthalten, die zur Ausgabe
%% von Listen verwendet werden.
%%

%%
%% Makro für Brüche
%%
\def\frac#1/#2{\leavevmode\kern.1em\raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}

%%
%% Fonts definieren sowie Änderungen am Seitenlayout.
%%
\magnification=\magstep0
\font\ownfont=cmss8
\font\big=cmr12
\font\bigfat=cmbx12
\nopagenumbers

%%
%% Auch hier wieder 'german.sty' einbinden.
%%
\input german.sty

%%
%% Seitengröße festlegen
%%
\hsize=16truecm
\vsize=24truecm
\hoffset=0cm
\voffset=0pt

%%
%% Faltmarken einfügen
%%
{\vbox to0pt{\kern7.3truecm\hbox{\kern-1.5truecm --}\vss}\nointerlineskip}
{\vbox to0pt{\kern12.1truecm\hbox{\kern-1.5truecm ---}\vss}\nointerlineskip}
{\vbox to0pt{\kern17.2truecm\hbox{\kern-1.5truecm --}\vss}\nointerlineskip}

%%
%% Um auf die internen Befehle von "`german.sty"' zugreifen und
%% eigene Makros in dieser Form definieren zu können, wird der
%% Klammeraffe aktiviert.  Sein bisheriger Wert wird gesichert.
%%
\chardef\atcode=\catcode`\@
\catcode`\@=11 % \makeatletter

%%
%% Makro für das Datum definieren.
%%
\def\date#1{\def\@date{#1}} \def\@date{\today}

%%
%% Makro für die Kopfzeile. Es wird \headname als Überschrift verwendet.
%% Dies wird durch MUI-Rechnung automatisch gesetzt. Der Kopf sieht derzeit
%% recht einfach aus. Links die Überschrift, rechts das heutige Datum.
%% Darunter eine horizontale Linie als Trennung.
%%
%%
%% Kopfzeile für Kundenliste
%%
\newtoks\custheadline \custheadline={%
  \vbox{%
    \hbox to \hsize{\bigfat\headname\hfil\@date}%
    \vskip 2mm\hrule}}

%%
%% Kopfzeile für Artikelliste
%%
\newtoks\artheadline \artheadline={%
  \vbox{\kern-0.5cm%
    \hbox to \hsize{\bigfat\headname\hfil\@date}%
    \vskip 2mm\hrule\vskip 2mm
    \articleline|Art.-Nr.|Bezeichnung|Betrag|Netto|Versand|min.\ VK|Menge||%
   }}

%%
%% Kopfzeile für Rechnungs- und Auftragsliste
%%
\newtoks\invheadline \invheadline={%
  \vbox{%
    \hbox to \hsize{\bigfat\headname\hfil\@date}%
    \vskip 2mm\hrule}}

%%
%% Makro für die Fußzeile. Es wird derzeit nur die Seitennummer ausgegeben.
%% Darüber erscheint noch eine horizontale Linie als Trennung.
%%
\footline={%
  \vbox{%
    \hrule\vskip 2mm%
    \hbox to \hsize{\hfil \pagename\ \folio\hfil}}}

%%
%% Für die Ausgabe einer Telefon- oder Faxliste wird für jeden Eintrag
%% das Makro \phoneline verwendet. Es erhält zwei Parameter:
%%
%%   #1 - Name
%%   #2 - Telefon- bzw. Faxnummer
%%
%% Das Makro zeigt jeden Eintrag einzeilig an. Links erscheint der Name
%% und rechtsbündig die Telefonnummer. Dazwischen wird mit Punkten gefüllt.
%%
\def\phoneline|#1|#2|{\item{}#1\dotfill#2}% Name und Telefonnummer

%%
%% Bei der Ausgabe einer Kategorie wird das Makro \category verwendet.
%% Dies wird etwas abgesetzt und fett gedruckt.
%%
\def\category|#1|{\bigskip\leftline{\big #1}\bigskip}% Kategorie

%%
%% Beim Ausdruck einer Adreßliste werden so viele Daten wie möglich
%% dem Makro \addressfield übergeben. Leider gibt es nur eine begrenzte
%% Anzahl von Parametern. Deshalb fehlen manche Einträge aus dem Programm.
%% Die Daten, die übergeben werden, sind:
%%
%%   #1 - Anrede
%%   #2 - Adresse
%%   #3 - Adresse
%%   #4 - Adresse
%%   #5 - Adresse
%%   #6 - Kundennummer
%%   #7 - Telefon
%%   #8 - Fax
%%
%% Momentan wird nur eine einspaltige Ausgabe unterstützt, was die Seiten
%% recht schnell füllt.
%%
\def\addressfield|#1|#2|#3|#4|#5|#6|#7|#8|{%
  #1 (Kundennr. #6)\par #2\par #3\par #4\par #5\par%
  Tel: #7, Fax: #8\par%
  \bigskip
  }%

%%
%% Für den Ausdruck einer Artikelliste wird das Makro \articleline für
%% jeden auszugebenden Artikel verwendet. einzeilige Ausgabe für Artikelliste
%%
%%   #1 - Art.-Nr
%%   #2 - Bezeichnung
%%   #3 - VKPreis Brutto
%%   #4 - EKPreis Netto
%%   #5 - EKVersand Netto
%%   #6 - minimaler VKPreis Brutto
%%   #7 - Menge = Lagerbestand
%%   #8 - Währung
%%
%% Im einfachsten Fall wird nur die Bezeichnung und der Preis ausgegeben.
%%

%\def\articleline|#1|#2|#3|#4|#5|#6|#7|#8|{%
%  \item{}#2\dotfill#3}%

%\def\articleline|#1|#2|#3|#4|#5|#6|#7|#8|{%
%  \item{}#2\dotfill(#6)\hbox to 3cm{\dotfill #3}}%

%%
%% Möglich wäre aber auch die Ausgabe mit Artikelnummer und Mengenangabe.
%%
\def\articleline|#1|#2|#3|#4|#5|#6|#7|#8|{%
  \line{\hbox to 1.5cm{#1\hfill}#2\hfill#7\hbox to 2.5cm{\hfill#3 #8}}}% 

%%
%% Zur Ausgabe der Rechnungsliste wird das Makro \invitem verwendet.
%% Folgende Parameter erhält dieses Makro:
%%
%%   #1 - Kunde
%%   #2 - Rechnungsnummer
%%   #3 - Datum
%%   #4 - Bruttosumme
%%   #5 - bezahlte Summe
%%   #6..#9 - noch leer
%%
%% Momentan wird nur die Rechnungsnummer, das Datum, der Kundenname
%% sowie rechtsbündig die Summe ausgegeben. Dazwischen wird mit Punkten
%% gefüllt.
%% 
\def\invitem|#1|#2|#3|#4|#5|#6|#7|#8|#9|{%
  #2 vom #3, Kunde #1\dotfill #4\par%
  }%

%%
%% Am Ende einer Rechnungsliste erscheint noch die Summe aller Rechnungen.
%% Dies wird über das Makro \sumlist erledigt. Die Summe erscheint
%% fett am rechten Rand.
%%
\def\sumlist|#1|{%
  \bigskip%
  \rightline{\bf Summe #1}%
  }%

%%
%% Der Klammeraffe bekommt wieder seine alte Bedeutung.
%%
\catcode`\@=\atcode % return to previous catcode

%%
%% Hier endet LISTMACRO.TEX.
%%
